---
title: Husky
description: Kjøre Ultracite automatisk på dine staged Git-filer med Husky
---

Ultracite tilbyr sømløs integrasjon med [Husky](https://typicode.github.io/husky/), et populært verktøy for å administrere Git-hooks. Denne integrasjonen setter automatisk opp pre-commit-hooks for å sikre at koden din er riktig formatert før hver commit.

## Hva er Husky?

Husky er et verktøy som gjør det enkelt å bruke Git-hooks i prosjektet ditt. Git-hooks er skript som kjøres automatisk på bestemte punkter i Git-arbeidsflyten, for eksempel før du committer eller pusher kode. Husky forenkler prosessen med å sette opp og administrere disse hookene.

## Hvordan Ultracite bruker Husky

Når du initialiserer Ultracite i prosjektet ditt, kan det automatisk konfigurere Husky til å kjøre kodeformatering før hver commit. Dette sikrer at:

- All kode som blir committed følger konsekvente formateringsstandarder
- Kvalitetskontroller for kode håndheves automatisk
- Teammedlemmer slipper å huske å formatere kode manuelt
- Repositoryet ditt opprettholder en ren, konsekvent kodestil

## Oppførsel for pre-commit-hook

Ultracite sin Husky-integrasjon oppretter en pre-commit-hook som kjører følgende kommando:

```bash
npx ultracite fix
```

Denne kommandoen:
- Kjører Biome sin linter og formatter på kodebasen din
- Fikser automatisk formateringsproblemer der det er mulig
- Sikrer at alle staged filer møter prosjektets kodestandarder
- Forhindrer commits som ville introdusere formateringsinkonsistenser

## Automatisk oppsett

Under initialiseringsprosessen (`ultracite init`), hvis du velger Husky-alternativet, vil Ultracite:

1. **Installs Husky**: Legger Husky til som en dev-avhengighet i prosjektet ditt
2. **Creates Hook File**: Setter opp `.husky/pre-commit`-filen med formateringskommandoen
3. **Handles Existing Setups**: Hvis du allerede har Husky konfigurert, oppdaterer den eksisterende pre-commit-hooken i stedet for å overskrive den

## Integrasjonsdetaljer

Husky-integrasjonen inkluderer flere smarte funksjoner:

### Håndtering av avhengigheter
- Installerer automatisk Husky som en dev-avhengighet ved hjelp av prosjektets pakkebehandler
- Bruker riktig pakkebehandler-kommando (`npm install -D`, `yarn add -D`, `pnpm add -D`, etc.)

### Håndtering av hooks
- **Nye prosjekter**: Oppretter en ny `.husky/pre-commit`-fil med ultracite fix-kommandoen
- **Eksisterende prosjekter**: Legger til Ultracite-kommandoen i din eksisterende pre-commit-hook, og bevarer andre hooks du kan ha konfigurert

### Filstruktur
Integrasjonen oppretter eller endrer:
```
.husky/
└── pre-commit    # Contains the formatting command
```

## Fordeler

### Konsistent kodesstil
Hver commit følger automatisk prosjektets formateringsstandarder, og eliminerer stildebatter og inkonsistenser.

### Automatisk kvalitetskontroll
Oppdag formateringsproblemer før de kommer inn i repositoryet, og oppretthold en ren commit-historikk.

### Team-samarbeid
Alle teammedlemmer følger automatisk de samme formateringsstandardene uten manuelt inngrep.

### CI/CD-optimalisering
Reduser CI/CD-feil på grunn av formateringsproblemer, siden koden er forhåndsformatert lokalt.

## Integrasjon i arbeidsflyten

Med Husky-integrasjonen aktivert, blir din typiske Git-arbeidsflyt:

1. **Foreta endringer** i kodefilene dine
2. **Stage endringene** med `git add`
3. **Commit endringene** med `git commit`
4. **Pre-commit-hooken kjører** automatisk og formaterer de staged filene
5. **Commit fortsetter** med riktig formatert kode

Hvis formattereren gjør endringer, må du stage og committe disse endringene også.

## Tilpasning

Selv om Ultracite setter opp fornuftige standarder, kan du tilpasse oppførselen:

- Endre `.husky/pre-commit` for å legge til flere kommandoer
- Konfigurer Biome-innstillinger for å justere formateringsreglene
- Legg til andre pre-commit-sjekker sammen med Ultracite sin formatering

## Feilsøking

### Hooken kjører ikke
Hvis pre-commit-hooken ikke kjører:
- Sørg for at Husky er installert: `npm ls husky`
- Sjekk at `.husky/pre-commit` eksisterer og er kjørbar
- Verifiser at Git-hooks er aktivert i repositoryet ditt

### Tillatelsesproblemer
På Unix-lignende systemer, sørg for at hook-filen er kjørbar:
```bash
chmod +x .husky/pre-commit
```

### Omgå hooks
I sjeldne tilfeller hvor du må hoppe over pre-commit-hooken:
```bash
git commit --no-verify
```

Bruk dette sparsomt, siden det omgår den automatiske formateringen som holder kodebasen din konsistent.